今天我們要來練習異常值去除,我們會使用柴比雪夫不等式的原理來操作,在這之前要先思考一件事,異常值去除後,原來的位置要填什麼呢?是補0嗎?還是填一個空值None
?或是填一個""
呢?答案是都可以,但這些都不算是首選,可以的話最好是填充nan
,什麼是nan
呢?
nan
就是 not a number ,要是有張CSV檔裡面某一列數值是遺失的,我們用Pandas讀取進來,也會顯示nan
,而且nan
有一些討人厭的特性,我們有許多方式可以取得nan,這裡採用Numpy來幫我們取得一個nan
import pandas as pd
import numpy as np
if __name__ == "__main__":
a = np.nan
print(a)
# nan
b = a
print(b)
# nan
if a == b:
print("兩個都是NAN")
else:
print("兩個不一樣")
# 兩個不一樣
有沒有發現,比較運算子在nan面前居然失效了?!
這時候就需要換個專業的手法
import pandas as pd
import numpy as np
if __name__ == "__main__":
a = np.nan
print(a)
# nan
b = a
print(b)
# nan
if np.isnan(a) and np.isnan(b) :
print("兩個都是NAN")
else:
print("兩個不一樣")
# 兩個都是NAN
這樣就能處理PYTHON的這個大坑囉